草庐IT

c++ - 实现安全的 nullptr

全部标签

c - 我如何知道我是否从 GetExitCodeProcess 获得了实际的退出代码?

我正在制作一个程序来检查现有进程并返回其退出代码...如果它是一个退出代码。如果程序出错,它会返回-1。我的代码现在看起来像:HANDLEhProcess=OpenProcess(SYNCHRONIZE|PROCESS_QUERY_INFORMATION,FALSE,pid);if(!hProcess){switch(GetLastError()){//Handleerrorsandsuch}}else{WaitForSingleObject(hProcess,INFINITE);intexit_code;GetExitCodeProcess(hProcess,&exit_code);

c - Eclipse 交叉编译...我该怎么做?

我正在使用C代码中的Eclipse在Windows机器上进行开发。所有文件都物理地位于Linux服务器上。我仅将Eclipse用于编辑和代码浏览。当我想编译时,我打开一个终端并通过telnet连接到Linux服务器,我从中调用一个设置了几个变量的文件并最终调用“make”命令。服务器非常繁忙..然后我希望能够在本地编译[然后将这些可执行文件通过ftp传输回Linux机器以便我可以执行它们..除非Eclipse可以自己做到这一点:)]...知道怎么做吗?我不太精通Eclipse或操作系统的使用……所以如果您能回答并解释我应该做什么……我将不胜感激……我更改了ProjectProperti

c - 在 Windows 中跨重启访问相同的资源

我会在系统关闭或服务关闭之前在文件/内存中写入一些东西。在下次重新启动系统时,是否可以在文件系统加载之前访问磁盘上的相同文件或相同内存?实际需求是这样的,我们有一个位于卷级驱动程序和文件系统驱动程序之间的驱动程序......在驱动程序代码的那部分,我想访问一些内存或文件。感谢和问候,卡尔文 最佳答案 这里合乎逻辑的事情是,如果它不是太大,则将其读/写到注册表中。您是否有不想使用注册表的原因?如果您需要访问大数据并且正在编写卷或设备过滤器并且不能依赖内核中的ZwOpen/Read/Write/Close函数,一种方法是在用户模式下创建

c# - 沙盒 AppDomain 中的线程安全

我有一个应用程序域来托管不受信任的代码/程序集。我用安全属性解决了所有安全问题,而且效果很好。不受信任的代码在专用线程上运行。CLR是2.0。这就是我的AppDomainShellAppDomainSeed,Shell在主域中运行,seed是不受信任域中的受信任代理/助手。我有兴趣限制创建新线程和更改优先级。目前,我不受信任的程序集可以设置ThreadPriority.Highest或通过创建10k线程来终止操作系统。有SecurityPermissionFlag.ControlThread但这只会阻止像Abort()这样的高级操作。我正在查看Thread类实现,对于那些简单的操作,它

c - 42 传递给 TerminateProcess,有时 GetExitCodeProcess 返回 0

在获得CreateProcess返回的句柄后,我调用TerminateProcess,为进程退出代码传递42。然后,我使用WaitForSingleObject终止进程,最后调用GetExitCodeProcess。函数调用均未报告错误。子进程是一个无限循环,不会自行终止。问题是,有时GetExitCodeProcess返回42作为退出代码(它应该如此),有时返回0。知道为什么吗?#include#include#include#include#includevoidcheck_call(boolresult,charconst*call);#defineCHECK_CALL(call

windows - 将 SMB 添加到 Windows,这有多安全?

我遇到了一个小黑客,它声称它在Windows上启用了smb://。投诉是像text这样的事情没有工作。虽然您确实可以在您的网址中使用file://///,但用户想要使用smb://以便它是跨平台的。破解过程如下:1)创建这个Reg文件,保存并执行:REGEDIT4[HKEY_CLASSES_ROOT\smb]@="URL:smbProtocol""URLProtocol"=""[HKEY_CLASSES_ROOT\smb\shell][HKEY_CLASSES_ROOT\smb\shell\open][HKEY_CLASSES_ROOT\smb\shell\open\command]@

c - 抢先将文件放入 Windows 页面缓存

我有一个用C语言编写的程序,允许用户滚动显示大约不计其数的小文件。每个文件在显示给用户之前都需要经过一定数量的处理(只读)。我已经实现了一个缓冲区,可以在用户位置周围一定半径范围内预处理文件,因此如果他们线性地处理它们,则不会有太多延迟。由于各种原因,我实际上一次只能在一个文件上运行我的处理算法(尽管我可以打开多个文件,并且可以从中读取)所以我的缓冲区按顺序加载。我的处理算法已尽可能优化,但我遇到了I/O问题。起初,我的加载过程很慢,但是当文件被访问几次后,速度提高了大约5倍。因此,我强烈怀疑是什么让我慢下来是在等待Windows页面缓存将我的文件拉入内存。我对那种事情知之甚少。如果我

c - ISAPI 筛选器如何区分是由 IIS 或 ISA 加载的?

我有一个作为ISAPI过滤器实现的应用程序,它的行为需要根据它是由ISA还是IIS加载而改变。在GetFilterVersion期间,如果由ISA加载,则需要注册SF_NOTIFY_SEND_RAW_DATA,如果由IIS加载,则需要注册SF_NOTIFY_SEND_RESPONSE。似乎没有任何关于传递给GetFilterVersion的服务器的信息。是否有一些技巧可以识别和区分IIS和ISA?[编辑]在初始化时,在GetFilterVersion调用期间,应用程序需要知道哪个服务器正在加载它。当前没有请求,因此尝试从header变量中获取SERVER_VARIABLE将不起作用;此

windows - 窗口属性 - 它们是如何实现的?

我很好奇这里是否有人知道Windows中窗口属性(SetProp、GetProp等)的实现细节的内部信息。SetProp@MSDNGetProp@MSDN例如,存储和查找是如何完成的? 最佳答案 警告:我很久以前看过这个,所以1)我的内存可能有误,2)它可能已经过时了,即使我没记错。当我查看时,我很确定它们是作为链接列表实现的,如果窗口有多个属性,则性能相当很差。 关于windows-窗口属性-它们是如何实现的?,我们在StackOverflow上找到一个类似的问题:

c - 在 Windows 中使用 ssh 编译 curl 的白痴指南

我不是c开发人员,但有人要求我用ssh编译curl。我已经下载了curl、libssh2和openssl的源代码。我已经设法在VS2008中编译curl,但我不知道添加libssh2和openssl。任何帮助将不胜感激。谢谢 最佳答案 关注theguide即可在PHP.netforwindows上。或者你可以使用这个reallylongguide以获得更详细的演练。 关于c-在Windows中使用ssh编译curl的白痴指南,我们在StackOverflow上找到一个类似的问题: